package Dao;

import Model.Livro;
import Utils.HibernateUtil;

import java.util.List;
import org.hibernate.Session;
import org.hibernate.Transaction;

/**
 * 
 * @author Henrique Barnabe
 */
public class LivroDaoImp implements LivroDao {

	public void save(Livro livro) {
		Session session = HibernateUtil.getSession();
		Transaction t = session.beginTransaction();
		session.save(livro);
		t.commit();
	}

	public Livro getLivro(long id) {
		Session session = HibernateUtil.getSession();
		return (Livro) session.load(Livro.class, id);
	}

	public List<Livro> list() {
		Session session = HibernateUtil.getSession();
		Transaction t = session.beginTransaction();
		List lista = session.createQuery("from Livro").list();
		t.commit();
		return lista;
	}

	public void remove(Livro livro) {
		Session session = HibernateUtil.getSession();
		Transaction t = session.beginTransaction();
		session.delete(livro);
		t.commit();
	}

	public void update(Livro livro) {
		Session session = HibernateUtil.getSession();
		Transaction t = session.beginTransaction();
		session.update(livro);
		t.commit();
	}
}